/*** 软件版权：XX有限公司
 　 * 修改记录：
 　 * 修改日期   修改人员     修改说明
 　 * =========  ===========  ====================================
 　 * 2020/10/12   WuZhen      新增
 　* =========  ===========  ====================================
 　 */
package com.example.springbootdemo.utils;

import lombok.Data;

import java.io.Serializable;

/**
 * 统一消息响应
 * @since 2020.1.14
    */
@Data
public class WebResult implements Serializable {

  /** 状态码  */
  private int code;

  /** 提示信息  */
  private String msg;

  /** 返回数据  */
  private Object data;

  public WebResult(int code, String msg, Object data) {
    this.code = code;
    this.msg = msg;
    this.data = data;
  }

  public static WebResult ok(String msg, Object data) {
    return new WebResult(0, msg, data);
  }

  public static WebResult ok(Object data) {
    return ok("ok", data);
  }

  public static WebResult fail(int code, String msg) {
    return new WebResult(code, msg, null);
  }

  @Override
  public String toString() {
    return "{" +
            "code=" + code +
            ", msg='" + msg + '\'' +
            ", data=" + data +
            '}';
  }
}